/*
 * @Author: aggfb 714740235@qq.com
 * @Date: 2024-04-21 10:45:53
 * @LastEditors: aggfb 714740235@qq.com
 * @LastEditTime: 2024-05-19 07:00:28
 * @FilePath: \label_rack_control\firmware\bsp\bsp_gpio.h
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
/*
 * @Author: aggfb 714740235@qq.com
 * @Date: 2024-04-20 11:27:52
 * @LastEditors: aggfb 714740235@qq.com
 * @LastEditTime: 2024-04-21 10:46:27
 * @FilePath: \label_rack_control\firmware\HARDWARE\ADC\adc.h
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#ifndef __BSP_GPIO_H
#define __BSP_GPIO_H

#include "apm32f10x_conf.h"
#include "bsp_sys.h"

#ifdef MCU_TYPE_APM
/* 使能脚控制 */
#define PORT_MOTOR_ENA GPIOA
#define PIN_MOTOR_ENA  GPIO_PIN_11
/* 方向脚控制 */
#define PORT_MOTOR_DIR GPIOA
#define PIN_MOTOR_DIR  GPIO_PIN_10
/* 设置参数对外接口 */
#define BSP_GPIO_SET_MOTOR_ENA(x)  GPIO_WriteBitValue(PORT_MOTOR_ENA, PIN_MOTOR_ENA, (uint8_t)x)
#define BSP_GPIO_SET_MOTOR_DIR(x)  GPIO_WriteBitValue(PORT_MOTOR_DIR, PIN_MOTOR_DIR, (uint8_t)x)
#define BSP_GPIO_SET_LED(x)        GPIO_WriteBitValue(GPIOB, GPIO_PIN_5, (uint8_t)x)
/* 传感器采集口 */
#define BSP_GPIO_GET_SENSER GPIO_ReadInputBit(GPIOA, GPIO_PIN_0)
#else
/* 使能脚控制 */
#define PORT_MOTOR_ENA GPIOB
#define PIN_MOTOR_ENA  GPIO_Pin_0
/* 方向脚控制 */
#define PORT_MOTOR_DIR GPIOB
#define PIN_MOTOR_DIR  GPIO_Pin_1
/* 设置参数对外接口 */
/* 方向脚控制 */
#define PORT_MOTOR_PWM GPIOB
#define PIN_MOTOR_PWM  GPIO_Pin_10
/* 设置参数对外接口 */
#define BSP_GPIO_SET_MOTOR_PWM(x)  GPIO_WriteBit(PORT_MOTOR_PWM, PIN_MOTOR_PWM, (BitAction)x)

#define BSP_GPIO_SET_MOTOR_ENA(x)  GPIO_WriteBit(PORT_MOTOR_ENA, PIN_MOTOR_ENA, (BitAction)x)
#define BSP_GPIO_SET_MOTOR_DIR(x)  GPIO_WriteBit(PORT_MOTOR_DIR, PIN_MOTOR_DIR, (BitAction)x)
/* 传感器采集口 */
#define BSP_GPIO_GET_DEV GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9)
#endif




extern void bsp_gpio_init(void);
extern void bsp_gpio_led_toggle(void);

#endif
